package com.j2eefast.bussiness.contract.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.j2eefast.bussiness.contract.entity.PayTimingEntity;
import com.j2eefast.bussiness.contract.entity.PayWagesEntity;
import com.j2eefast.framework.sys.entity.SysUserEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>计时工资</p>
 *
 * @author: summer
 * @date: 2021-06-09 10:41
 * @web: http://www.letukeji.cn
 * @version: 1.0.1
 */
public interface PayTimingMapper extends BaseMapper<PayTimingEntity> {

    boolean updateRepair(@Param("recordList") List<PayTimingEntity> recordList);

    boolean saveRepair(@Param("recordList") List<PayTimingEntity> recordList);

    boolean updateQuit(@Param("timingEntity") PayTimingEntity timingEntity);

    List<PayTimingEntity> repairList(@Param("id") int id);
    PayTimingEntity repairInfo(@Param("id") int id);

    public boolean deleteByIds(@Param("ids") Long[] ids);
    public boolean updateCheck(@Param("id") Long id, @Param("userId") Long userId);
    //查询用户信息
    public SysUserEntity getSysById(@Param("userId") Long userId);

    /**
     * 页面查询流程实例分页
     * @return
     */
    Page<PayTimingEntity> findPage(IPage<?> params,
                                   @Param("payId") String payId,
                                   @Param("productionNumber") String productionNumber,
                                   @Param("department") String department,
                                   @Param("department2") String department2,
                                   @Param("name") String name,
                                   @Param("name2") String name2,
                                   @Param("workType") String workType,
                                   @Param("timingUnit") String timingUnit,
                                   @Param("timingPrice") String timingPrice,
                                   @Param("amount") String amount,
                                   @Param("remark") String remark,
                                   @Param("beginTime") String startTime,
                                   @Param("endTime") String endTime,
                                   @Param("beginTime2") String startTime2,
                                   @Param("endTime2") String endTime2,
                                   @Param("sql_filter") String sql_filter);

    List<PayTimingEntity> findList(IPage<?> params,
                                   @Param("payId") String payId,
                                   @Param("department") String department,
                                   @Param("name") String name,
                                   @Param("productionNumber") String productionNumber,
                                   @Param("workType") String workType,
                                   @Param("startTime") String startTime,
                                   @Param("endTime") String endTime,
                                   @Param("sql_filter") String sql_filter);
}
